/**
 * 
 */
package fr.miage.shopping.metier.impl;

import fr.miage.shopping.dao.traitements.CategorieDao;
import fr.miage.shopping.metier.CategorieBusinessService;
import fr.miage.shopping.metier.entite.Categorie;
import java.util.ArrayList;
import java.util.List;



/**
 * @author romain,kristela
 * 
 */
public class CategorieBusinessServiceImpl implements CategorieBusinessService {

	/**
	 * 
	 */
	private static final long serialVersionUID = -8534989633406322148L;

	/**
	 * @see fr.miage.client.metier.categorie.CategorieBusinessService#getAllCategorie()
	 */
	/**
	 * Retourne la liste de toutes les categories.
	 */
	// FIXME action temporaire
	public List<Categorie> getAllCategorie() {
		List<Categorie> laListe = new ArrayList<Categorie>();
		
		laListe = CategorieDao.selectAllCategorieTrie();

		return laListe;
	}

    public List<Categorie> getAllCategorieNiv1() {
		List<Categorie> laListe = new ArrayList<Categorie>();

		laListe = CategorieDao.selectCategorieNiv1();

		return laListe;
	}

	
	

	public void createCategorie(Categorie categorie) {
		Categorie c = CategorieDao.selectCategorie(categorie);
		if (c == null) {
			CategorieDao.insertCategorie(categorie);
		}
	}

	public void deleteCategorie(Categorie categorie) {
		CategorieDao.deleteCategorie(categorie);

	}

	public void updateCategorie(Categorie oldCategorie, Categorie newCategorie) {
		Categorie c = CategorieDao.selectCategorie(oldCategorie);
		if (c != null && oldCategorie.getIdCate() == newCategorie.getIdCate()) {
			CategorieDao.insertCategorie(newCategorie);
		}

	}

	public Categorie getCategorie(Categorie categorie) {
		Categorie c = CategorieDao.selectCategorie(categorie);
		return c;
	}

    public boolean isPere(Categorie categorie) {
       List<Categorie>listPere = CategorieDao.selectAllCategoriePere();
       for(int i=0;i<listPere.size();i++){
             if(categorie.getIdCate()==listPere.get(i).getIdCate()){
               return true;
       }
        
          }
       return false;
    }
	


	
}
